package Dimensionnement;

import hibernate.FournisseurProduit;
import hibernate.Produit;
import hibernate.Site;
import hibernate.siteProduit;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import net.sf.hibernate.HibernateException;

public class ControleurDimensionnement {

	public List<Double> CalculerStockSecu(int site, int produit, int anneed,
			int moisd, int anneef, int moisf, double taux, String maille)
			throws HibernateException {

		CalculDimensionnement dim = new CalculDimensionnement();

		Date debut = new Date(anneed, moisd, 1);
		Date fin = new Date(anneef, moisf, 1);

		// System.out.println("controooooooooooooooooooo="+dim.CalculDimentionnement(debut,
		// fin, sit, prod, maille, taux).toString());
		List<Double> res= dim.CalculDimentionnement(debut, fin, site, produit, maille, taux);
		if ( res != null) {
			return res;
		} else {
			//System.out.println("pas de calcul----------------------------");
			return null;
		}

	}
	
	
	public int CalculerConsoMoy(int site,int produit, int anneed ,int moisd, int anneef, int moisf) throws HibernateException
	{
		Date debut = new Date(anneed, moisd, 1);
		Date fin = new Date(anneef, moisf, 1);
		CalculDimensionnement dim = new CalculDimensionnement();
		return dim.consomation_moyenne(debut, fin, site, produit);
		
		
	}
	
	public List<Site> ToutBoutiques() throws HibernateException
	{
		
		TraitementDonnees d = new TraitementDonnees();
		List <Site> list = d.recuperer_Lessite();
		List<Site> boutique = new ArrayList<Site>();
		
		for(int i = 0 ; i< list.size();i++)
		{
			
			if(list.get(i).equals("boutique"))
				boutique.add(list.get(i));
				
		}
		return boutique;
	}
	
	public List<Integer> ToutBoutiquesID() throws HibernateException
	{
		
		TraitementDonnees d = new TraitementDonnees();
		List <Site> list = d.recuperer_Lessite();
		List<Integer> boutique = new ArrayList<Integer>();
		
		for(int i = 0 ; i< list.size();i++)
		{
			
			if(list.get(i).getTypeSite().equals("boutique"))
				boutique.add(list.get(i).getId());
				
		}
		return boutique;
	}
	
	public List<Integer> ToutdepotID() throws HibernateException
	{
		
		TraitementDonnees d = new TraitementDonnees();
		List <Site> list = d.recuperer_Lessite();
		List<Integer> depot = new ArrayList<Integer>();
		
		for(int i = 0 ; i< list.size();i++)
		{
			
			if(list.get(i).getTypeSite().equals("depot"))
				depot.add(list.get(i).getId());
				
		}
		return depot;
	}
	public List<Site> Toutdepot() throws HibernateException
	{
		
		TraitementDonnees d = new TraitementDonnees();
		List <Site> list = d.recuperer_Lessite();
		List<Site> depot = new ArrayList<Site>();
		
		for(int i = 0 ; i< list.size();i++)
		{
			
			if(list.get(i).getTypeSite().equals("depot"))
				depot.add(list.get(i));
				
		}
		return depot;
	}
	
	public List<Site> Toutsite() throws HibernateException
	{
		
		TraitementDonnees d = new TraitementDonnees();
		List <Site> list = d.recuperer_Lessite();
		List<Site> site = new ArrayList<Site>();
		
		for(int i = 0 ; i< list.size();i++)
		{
			
			if(! list.get(i).getTypeSite().equals("supermarche"))
				site.add(list.get(i));
				
		}
		return site;
	}
	
	
	public List<Produit> Tousproduit() throws HibernateException{
		
		TraitementDonnees d = new TraitementDonnees();
		List <Produit> list = d.recuperer_Lesproduit();
		return list;
		
	}
	
	public String getClasse(int s,int p) throws HibernateException
	{
		TraitementDonnees d = new TraitementDonnees();
		return d.recupererClasse(p, s);
		
		
		
		
	}
	


}
